<HTML>
<CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> 
</CENTER>






<HR>

<H3>compute gyration/molecule command 
</H3>
<P><B>Syntax:</B>
</P>
<PRE>compute ID group-ID gyration/molecule keyword value ... 
</PRE>
<UL><LI>ID, group-ID are documented in <A HREF = "compute.html">compute</A> command 

<LI>gyration/molecule = style name of this compute command 

<LI>zero or more keyword/value pairs may be appended 

<LI>keyword = <I>tensor</I> 

<PRE>  <I>tensor</I> value = none 
</PRE>

</UL>
<P><B>Examples:</B>
</P>
<PRE>compute 1 molecule gyration/molecule
compute 2 molecule gyration/molecule tensor 
</PRE>
<P><B>Description:</B>
</P>
<P>Define a computation that calculates the radius of gyration Rg of
individual molecules.  The calculation includes all effects due to
atoms passing thru periodic boundaries.
</P>
<P>Rg is a measure of the size of a molecule, and is computed by this
formula
</P>
<CENTER><IMG SRC = "Eqs/compute_gyration.jpg">
</CENTER>
<P>where M is the total mass of the molecule, Rcm is the center-of-mass
position of the molecule, and the sum is over all atoms in the
molecule and in the group.
</P>
<P>If the <I>tensor</I> keyword is specified, then the scalar Rg value is not
calculated, but an Rg tensor is instead calculated for each molecule.
The formula for the components of the tensor is the same as the above
formula, except that (Ri - Rcm)^2 is replaced by (Rix - Rcmx) * (Riy -
Rcmy) for the xy component, etc.  The 6 components of the tensor are
ordered xx, yy, zz, xy, xz, yz.
</P>
<P>Rg for a particular molecule is only computed if one or more of its
atoms are in the specified group.  Normally all atoms in the molecule
should be in the group, however this is not required.  LAMMPS will
warn you if this is not the case.  Only atoms in the group contribute
to the Rg calculation for the molecule.
</P>
<P>The ordering of per-molecule quantities produced by this compute is
consistent with the ordering produced by other compute commands that
generate per-molecule datums.  Conceptually, them molecule IDs will be
in ascending order for any molecule with one or more of its atoms in
the specified group.
</P>
<P>IMPORTANT NOTE: The coordinates of an atom contribute to Rg in
"unwrapped" form, by using the image flags associated with each atom.
See the <A HREF = "dump.html">dump custom</A> command for a discussion of
"unwrapped" coordinates.  See the Atoms section of the
<A HREF = "read_data.html">read_data</A> command for a discussion of image flags and
how they are set for each atom.  You can reset the image flags
(e.g. to 0) before invoking this compute by using the <A HREF = "set.html">set
image</A> command.
</P>
<P><B>Output info:</B>
</P>
<P>This compute calculates a global vector if the <I>tensor</I> keyword is not
specified and a global array if it is.  The length of the vector or
number of rows in the array is the number of molecules.  If the
<I>tensor</I> keyword is specified, the global array has 6 columns.  The
vector or array can be accessed by any command that uses global values
from a compute as input.  See <A HREF = "Section_howto.html#howto_15">this
section</A> for an overview of LAMMPS output
options.
</P>
<P>All the vector or array values calculated by this compute are
"intensive".  The vector or array values will be in distance
<A HREF = "units.html">units</A>.
</P>
<P><B>Restrictions:</B> none
</P>
<P><B>Related commands:</B> none
</P>
<P><A HREF = "compute_gyration.html">compute gyration</A>
</P>
<P><B>Default:</B> none
</P>
</HTML>
